package com.ruoyi.screen.service.impl;

import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.screen.domain.dto.MaterialsOfDevice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.screen.mapper.DeviceFileMapper;
import com.ruoyi.screen.domain.DeviceFile;
import com.ruoyi.screen.service.IDeviceFileService;

/**
 * 设备播放素材Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-06-05
 */
@Service
public class DeviceFileServiceImpl implements IDeviceFileService 
{
    @Autowired
    private DeviceFileMapper deviceFileMapper;

    /**
     * 查询设备播放素材列表
     *
     * @param deviceFile 设备播放素材
     * @return 设备播放素材集合
     */
    public List<MaterialsOfDevice> selectMaterialsOfDevice(DeviceFile deviceFile){
        return deviceFileMapper.selectMaterialsOfDevice(deviceFile);
    }

    /**
     * 查询设备播放素材
     * 
     * @param deviceFileId 设备播放素材主键
     * @return 设备播放素材
     */
    @Override
    public DeviceFile selectDeviceFileByDeviceFileId(Long deviceFileId)
    {
        return deviceFileMapper.selectDeviceFileByDeviceFileId(deviceFileId);
    }

    /**
     * 查询设备播放素材列表
     * 
     * @param deviceFile 设备播放素材
     * @return 设备播放素材
     */
    @Override
    public List<DeviceFile> selectDeviceFileList(DeviceFile deviceFile)
    {
        return deviceFileMapper.selectDeviceFileList(deviceFile);
    }

    /**
     * 新增设备播放素材
     * 
     * @param deviceFile 设备播放素材
     * @return 结果
     */
    @Override
    public int insertDeviceFile(DeviceFile deviceFile)
    {
        deviceFile.setCreateTime(DateUtils.getNowDate());
        return deviceFileMapper.insertDeviceFile(deviceFile);
    }

    /**
     * 修改设备播放素材
     * 
     * @param deviceFile 设备播放素材
     * @return 结果
     */
    @Override
    public int updateDeviceFile(DeviceFile deviceFile)
    {
        deviceFile.setUpdateTime(DateUtils.getNowDate());
        return deviceFileMapper.updateDeviceFile(deviceFile);
    }

    /**
     * 批量删除设备播放素材
     * 
     * @param deviceFileIds 需要删除的设备播放素材主键
     * @return 结果
     */
    @Override
    public int deleteDeviceFileByDeviceFileIds(Long[] deviceFileIds)
    {
        return deviceFileMapper.deleteDeviceFileByDeviceFileIds(deviceFileIds);
    }

    /**
     * 删除设备播放素材信息
     * 
     * @param deviceFileId 设备播放素材主键
     * @return 结果
     */
    @Override
    public int deleteDeviceFileByDeviceFileId(Long deviceFileId)
    {
        return deviceFileMapper.deleteDeviceFileByDeviceFileId(deviceFileId);
    }
}
